<?php

class Categoria {

    public $files = '../produto/fotos/server/php/files/';
    public $thumbnails = '../produto/fotos/server/php/thumbnails/';

    function selecionarTudo($admin) {
        $con = new mysqli();
        $con = Connection::getConnection();

        $stmt = $con->prepare("SELECT categoria_id, categoria_nome FROM categoria_produto ORDER BY categoria_nome ASC");
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if ($count > 0) {
            $stmt->bind_result($categoria_id, $categoria_nome);
            echo '<table class="dados">';
            echo '<thead>';
            echo '  <tr>';
            echo '  <th>Nome</th>';
            if (isset($_SESSION['logado']) && $_SESSION['logado'] == 1 && $admin) {
                echo '  <th></th>';
            }
            echo '  </tr>';
            echo '</thead>';
            echo '  <tbody>';
            while ($stmt->fetch()) {
                echo '<tr>';
                echo '  <td>';
                echo '<a href="produtos.php?ref=' . $categoria_id . '&nome=' . $categoria_nome . '">' . $categoria_nome . '</a>';
                echo '  </td>';
                if (isset($_SESSION['logado']) && $_SESSION['logado'] == 1 && $admin) {
                    echo '  <td><label onclick="excluir(' . $categoria_id . ')" class="excluir">';
                    echo 'excluir';
                    echo '  </label></td">';
                }
                echo '</tr>';
            }
            echo '  </tbody>';
            echo '</table>';
        } else {
            echo 'Nenhum registro encontrado.';
        }

        $con->close();
    }

    function excluir() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $categoria_id = $_POST['categoria_id'];
        if (empty($categoria_id)) {
            header("HTTP/1.0 400 ID inválido");
            return;
        }

        $stmt = $con->prepare("SELECT produto_id FROM produto WHERE categoria_id = ?");
        $stmt->bind_param('s', $categoria_id);
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if ($count > 0) {
            $stmt->bind_result($produto_id);
            while ($stmt->fetch()) {
                $dir = $this->files . $produto_id . '/';
                $files = glob($dir . "/*");
                if (count($files) > 0) {
                    foreach ($files as $file) {
                        unlink($file);
                    }
                }

                $dir = $this->thumbnails . $produto_id . '/';
                $files = glob($dir . "/*");
                if (count($files) > 0) {
                    foreach ($files as $file) {
                        unlink($file);
                    }
                }

                rmdir($this->files . $produto_id . '/');
                rmdir($this->thumbnails . $produto_id . '/');
            }
        }

        $stmt = $con->prepare("DELETE FROM produto WHERE categoria_id = ?");
        $stmt->bind_param('i', $categoria_id);
        $stmt->execute();

        $stmt = $con->prepare("DELETE FROM categoria_produto WHERE categoria_id = ?");
        $stmt->bind_param('i', $categoria_id);
        $stmt->execute();
        $count = $stmt->affected_rows;

        if ($count == 0) {
            header("HTTP/1.0 500 Falha ao deletar o registro. Contate o administrador.");
        }

        $con->close();
    }

    function adicionar() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $categoria_nome = $_POST['categoria_nome'];
        if (empty($categoria_nome)) {
            header("HTTP/1.0 400 O nome da categoria não pode estar em branco.");
            return;
        }

        $stmt = $con->prepare("INSERT INTO categoria_produto (categoria_nome) VALUES (?)");
        $stmt->bind_param('s', $categoria_nome);

        $stmt->execute();
        $count = $stmt->affected_rows;

        if ($count == 0) {
            header("HTTP/1.0 500 Falha ao inserir o registro. Contate o administrador.");
        }

        $con->close();
    }

    function selecionarParaUsuario() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $stmt = $con->prepare("SELECT categoria_id, categoria_nome FROM categoria_produto ORDER BY categoria_nome ASC");
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if ($count > 0) {
            $stmt->bind_result($categoria_id, $categoria_nome);

            while ($stmt->fetch()) {
                echo '<div class="categoria" id="' . $categoria_id . '" onclick=selecionarCategoria(this)><img style="display:none; margin-right:5px" src="_recursos/imagens/menu-selecionado.png"/><span>' . $categoria_nome . '</span></div>';
            }
        } else {
            echo 'Nenhuma categoria encontrado.';
        }

        $con->close();
    }

}

?>
